package com.wu.response;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import static com.wu.constant.Constant.SUCCESS_STATUS;

/**
 * @author: 吴磊
 * @program: blog
 * @create: 2021-04-19 20:04
 */
@Data
@ApiModel("统一返回包装类")
public class CommonReturnType {
    /**
     * 表明对应请求的返回处理结果  "200" 或  "500"
     */
    @ApiModelProperty(value = "500或者200")
    private String status;
    /**
     * 若 status  = 200，则data返回前端需要的json数据
     * 若 status  = 500，则data使用通用的错误码格式
     */
    @ApiModelProperty(value = "返回的数据")
    private Object data;

    /**
     * 定义一个通用的创建方法
     *
     * @param data
     * @return
     */
    public static CommonReturnType create(Object data) {
        return CommonReturnType.create(data, SUCCESS_STATUS);
    }


    public static CommonReturnType create(Object data, String status) {
        CommonReturnType commonReturnType = new CommonReturnType();
        commonReturnType.setStatus(status);
        commonReturnType.setData(data);
        return commonReturnType;
    }
}